package NowCoder.JavaSE.String;
import java.util.*;

/**
 * WY20 两种排序方法
 * 入门  通过率：24.96%  时间限制：1秒  空间限制：32M
 * 知识点 排序 字符串
 * warning 校招时部分企业笔试将禁止编程题跳出页面，为提前适应，练习时请使用在线自测，而非本地IDE。
 * 描述
 * 考拉有n个字符串字符串，任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法： 1.根据字符串的字典序排序。例如：
 * "car" < "carriage" < "cats" < "doggies < "koala"
 * 2.根据字符串的长度排序。例如：
 * "car" < "cats" < "koala" < "doggies" < "carriage"
 * 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法，考拉要忙着吃树叶，所以需要你来帮忙验证。
 * 输入描述：
 * 输入第一行为字符串个数n(n ≤ 100) 接下来的n行,每行一个字符串,字符串长度均小于100，均由小写字母组成
 * 输出描述：
 * 如果这些字符串是根据字典序排列而不是根据长度排列输出"lexicographically",
 * 如果根据长度排列而不是字典序排列输出"lengths",
 * 如果两种方式都符合输出"both"，否则输出"none"
 *
 * 示例1
 * 输入：
 * 3
 * a
 * aa
 * bbb
 * 输出：
 * both
 * https://www.nowcoder.com/practice/839f681bf36c486fbcc5fcb977ffe432?tpId=122&tqId=33666&ru=/exam/oj
 */
public class 两种排序方法_WY20 {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        while(scanner.hasNext()){
            int num = scanner.nextInt();

            String[] str = new String[num];
            scanner.nextLine();
            for(int i = 0;i < num ;i++){
                str[i] = scanner.nextLine();
            }

            //写两个方法，一个方法用来进行字典序，一个是长度
            if(isDictionaryOrder(str,num) && isShortToLong(str,num)){
                System.out.println("both");
            }else if(isDictionaryOrder(str,num)){
                System.out.println("lexicographically");
            }else if(isShortToLong(str,num)){
                System.out.println("lengths");
            }else{
                System.out.println("none");
            }
        }
    }
    //该方法按照字典序来判断
    public static boolean isDictionaryOrder(String[] str,int n){
        for(int i = 0;i < n - 1;i++){
            if(str[i].compareTo(str[i + 1]) > 0){
                return false;
            }
        }
        return true;
    }

    //按照长度来判断
    public static boolean isShortToLong(String[] str,int n){
        for(int i = 0;i < n - 1;i++){
            if(str[i].length() - str[i + 1].length() > 0){
                return false;
            }
        }
        return true;
    }
}
